<?xml version="1.0"?>
<doc>
    <assembly>
        <name>GSearch.Core</name>
    </assembly>
    <members>
        <member name="T:GSearch.SearchClientEventArgs">
            <summary>
            The arguments class for events raised by the GSearchClient
            </summary>
        </member>
        <member name="P:GSearch.SearchClientEventArgs.e">
            <summary>
            A System.Exception valid if there is an error event
            </summary>
        </member>
        <member name="P:GSearch.SearchClientEventArgs.result">
            <summary>
            A Stream object for accessing the results returned in a completion
            event
            </summary>
        </member>
        <member name="T:GSearch.GSearchClient">
            <summary>
            The GSearchClient class abstracts the process of creating the service query
            and executing the search. It returns a stream to its client, which is of
            type GSearchCore, specialized for specific GResponse and GResults types.
            </summary>
        </member>
        <member name="M:GSearch.GSearchClient.#ctor(GSearch.GSearchCore)">
            <summary>
            The constructor creates the WebClient instance and wires up the OpenReadCompleted
            event for use in async calls.
            </summary>
        </member>
        <member name="M:GSearch.GSearchClient.Search(GSearch.GSearchCore,GSearch.SearchArgs)">
            <summary>
            Search performs a blocking read from the Google ajax REST service. It
            retrieves the service uri from the searcher, and the querystring
            arguments from the args instance. This method is not available in the
            Silverlight version of the libraries.
            </summary>
            <param name="searcher">A searcher instance derived from GSearchCore</param>
            <param name="args">A set of search arguments derived from SearchArgs</param>
            <returns>Stream containing the results</returns>
            <exception cref="T:System.Exception">If an error occurs calling WebClient.OpenRead</exception>
        </member>
        <member name="M:GSearch.GSearchClient.SearchAsync(GSearch.GSearchCore,GSearch.SearchArgs)">
            <summary>
            SearchAsync performs a non-blocking read from the Google ajax REST
            service. It retrieves the service uri from the searcher and the query
            string arguments from the args instance. It uses WebClient, so results
            will be returned on the SearchComplete or SearchFailed events using the
            UI thread. Callers should wire these events before searching.
            </summary>
            <param name="searcher">A searcher instance derived from GSearchCore</param>
            <param name="args">A set of search arguments derived from SearchArgs</param>
            <exception cref="T:System.Exception">If an error occurs calling WebClient.OpenReadAsync</exception>
        </member>
        <member name="M:GSearch.GSearchClient.OnSearchComplete(GSearch.SearchClientEventArgs)">
            <summary>
            Raises the SearchComplete event
            </summary>
            <param name="e">SearchClientEventArgs to be passed to event subscribers</param>
        </member>
        <member name="M:GSearch.GSearchClient.OnSearchFailed(GSearch.SearchClientEventArgs)">
            <summary>
            Raises the SearchFailed event
            </summary>
            <param name="e">SearchClientEventArgs to be passed to event subscribers</param>
        </member>
        <member name="M:GSearch.GSearchClient.GetUri(GSearch.GSearchCore,GSearch.SearchArgs)">
            <summary>
            Called from Search and SearchAsync to construct the service uri
            </summary>
            <param name="searcher">searcher derived from GSearchCore</param>
            <param name="args">search arguments derived from SearchArgs</param>
            <returns>An instance of the Uri class</returns>
        </member>
        <member name="M:GSearch.GSearchClient._wc_OpenReadCompleted(System.Object,System.Net.OpenReadCompletedEventArgs)">
            <summary>
            Handles the OpenReadCompleted event of the WebClient
            </summary>
            <param name="sender">the WebClient generating the event</param>
            <param name="e">event arguments</param>
        </member>
        <member name="E:GSearch.GSearchClient.SearchComplete">
            <summary>
            SearchComplete is raised when the service returns a complete response.
            The SearchEventArgs parameter to the event contains a reference to the
            resulting stream.
            </summary>
        </member>
        <member name="E:GSearch.GSearchClient.SearchFailed">
            <summary>
            SearchFailed is raised if there is an error during the execution of the
            search. The SearchEventArgs parameter to the event will contain a ref
            to the exception provided by WebClient.
            </summary>
        </member>
        <member name="T:GSearch.ArgStrings">
            <summary>
            Maps the argument enumerations to their querystring equivs. Dependent
            on the declarations of the argument enumerations in the search classes.
            </summary>
        </member>
        <member name="T:GSearch.CoreResources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:GSearch.CoreResources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:GSearch.CoreResources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:GSearch.CoreResources.BaseServiceURI">
            <summary>
              Looks up a localized string similar to http://ajax.googleapis.com/ajax/services/search/.
            </summary>
        </member>
        <member name="T:GSearch.SearchStatus">
            <summary>
            The SearchStatus enum contains codes that mark the stages of the
            image search progress. These are passed to the subscriber
            when the SearchProgressChanged event is raised.
            </summary>
        </member>
        <member name="F:GSearch.SearchStatus.Connecting">
            <summary>
            Signifies that the search process is connecting to Google servers
            </summary>
        </member>
        <member name="F:GSearch.SearchStatus.ResultsReceived">
            <summary>
            Signifies that the search process has received results from Google
            </summary>
        </member>
        <member name="F:GSearch.SearchStatus.Complete">
            <summary>
            Signifies that processing of search results is complete
            </summary>
        </member>
        <member name="F:GSearch.SearchStatus.Error">
            <summary>
            Signifies that an error has occured during the search
            </summary>
        </member>
        <member name="T:GSearch.SearchEventArgs">
            <summary>
            SearchEventArgs is used in the SearchProgressChanged event, and
            is the base class for all search-specific event classes.
            </summary>
        </member>
        <member name="M:GSearch.SearchEventArgs.#ctor">
            <summary>
            Default constructor for SearchEventArgs class.
            </summary>
        </member>
        <member name="M:GSearch.SearchEventArgs.#ctor(GSearch.SearchStatus,GSearch.GResponse,System.Exception)">
            <summary>
            Creates a new SearchEventArgs object given the passed arguments
            </summary>
            <param name="s"><see cref="T:GSearch.SearchStatus"/> enum value specifying the status</param>
            <param name="result"><see cref="T:GSearch.GResponse"/> containing the result when
            Status == Complete. Must be cast to the appropriate response type 
            before accessing./&gt;</param>
            <param name="ex">A System.Exception when Status == Error</param>
        </member>
        <member name="P:GSearch.SearchEventArgs.Status">
            <summary>
            A value from the <see cref="T:GSearch.SearchStatus"/> enum giving
            the current status of an asyncronous search.
            </summary>
        </member>
        <member name="P:GSearch.SearchEventArgs.Ex">
            <summary>
            Reference to a System.Exception provided when Status == Error,
            otherwise this is null.
            </summary>
        </member>
        <member name="P:GSearch.SearchEventArgs.Result">
            <summary>
            Reference to a <see cref="T:GSearch.GResponse"/> object containing
            the results of a search, provided when Status == Complete. For
            all other types of event this property is null.
            </summary>
        </member>
        <member name="T:GSearch.SearchType">
            <summary>
            enumerates the types of searches available. Used by the unified
            interface.
            </summary>
        </member>
        <member name="F:GSearch.SearchType.Web">
            <summary>
            Specifies a web search
            </summary>
        </member>
        <member name="F:GSearch.SearchType.Image">
            <summary>
            Specifies an image search
            </summary>
        </member>
        <member name="F:GSearch.SearchType.Video">
            <summary>
            Specifies a video search
            </summary>
        </member>
        <member name="F:GSearch.SearchType.Book">
            <summary>
            Specifies a book search
            </summary>
        </member>
        <member name="F:GSearch.SearchType.Local">
            <summary>
            Specifies a local search
            </summary>
        </member>
        <member name="F:GSearch.SearchType.News">
            <summary>
            Specifies a news search
            </summary>
        </member>
        <member name="F:GSearch.SearchType.Blog">
            <summary>
            Specifies a blog search
            </summary>
        </member>
        <member name="F:GSearch.SearchType.Patent">
            <summary>
            Specifies a patent search
            </summary>
        </member>
        <member name="T:GSearch.SearchSafety">
            <summary>
            Enumerates the levels of search filtering available for images,
            and web results. Off: no filtering; Moderate: some filtering;
            Full: strict filtering. The filter mechanism attempts to remove
            offensive images from the results.
            </summary>
        </member>
        <member name="F:GSearch.SearchSafety.Off">
            <summary>
            Signifies safe search filtering should be turned off
            </summary>
        </member>
        <member name="F:GSearch.SearchSafety.Moderate">
            <summary>
            Signifies a moderate level of safe search filtering
            </summary>
        </member>
        <member name="F:GSearch.SearchSafety.Full">
            <summary>
            Signifies full safe search filtering
            </summary>
        </member>
        <member name="T:GSearch.SearchResultSize">
            <summary>
            Enumerates the choices for result set size, where Small returns four
            results at a time, and Large returns eight.
            </summary>
        </member>
        <member name="F:GSearch.SearchResultSize.Small">
            <summary>
            Signifies that each result page should have 4 entries
            </summary>
        </member>
        <member name="F:GSearch.SearchResultSize.Large">
            <summary>
            Signifies that each result page should have 8 entries
            </summary>
        </member>
        <member name="T:GSearch.SearchScoring">
            <summary>
            Enumerates the available result ranking methods , where Relevance
            is the default ranking.
            </summary>
        </member>
        <member name="F:GSearch.SearchScoring.Relevance">
            <summary>
            Signifies that search results should be ranked on relevance
            </summary>
        </member>
        <member name="F:GSearch.SearchScoring.Date">
            <summary>
            Signifies that search results should be ranked by date
            </summary>
        </member>
        <member name="F:GSearch.SearchScoring.DateAscending">
            <summary>
            Signifies that search results should be ranked by date
            ascending - not all search types support this value
            </summary>
        </member>
        <member name="T:GSearch.SearchArgs">
            <summary>
            Base class containing the common search arguments
            </summary>
        </member>
        <member name="F:GSearch.SearchArgs._ver">
            <summary>
            Used to set the version argument to "1.0"
            </summary>
        </member>
        <member name="M:GSearch.SearchArgs.#ctor">
            <summary>
            Default constructor for SearchArgs class
            </summary>
        </member>
        <member name="M:GSearch.SearchArgs.ToQueryString">
            <summary>
            ToQueryString converts the current state of the SearchArgs members
            to the appropriate query string. This method is overridden by derived
            classes, and explicitly called from the derived implementation to
            get the first part of the query.
            </summary>
            <returns>A System.String containing the base querystring arguments for
            the specified search.</returns>
        </member>
        <member name="P:GSearch.SearchArgs.Terms">
            <summary>
            A System.String containing the search query terms, unescaped.
            </summary>
        </member>
        <member name="P:GSearch.SearchArgs.Version">
            <summary>
            A System.String containing the version of the API the program was
            written for. Always set to "1.0".
            </summary>
        </member>
        <member name="P:GSearch.SearchArgs.ResultSize">
            <summary>
            A value from the <see cref="T:GSearch.SearchResultSize"/> enum giving
            the size of result set desired. The Google API returns up to eight
            pages of results. For Large result sets each page contains 8 entries
            for a total of 64. For small sets there are 4 entries per page for
            a total of 32.
            </summary>
        </member>
        <member name="P:GSearch.SearchArgs.HostLang">
            <summary>
            A value from the <see cref="T:GSearch.SearchHostLang"/> enum giving
            the culture in which the program executing the search is running.
            </summary>
        </member>
        <member name="P:GSearch.SearchArgs.ApiKey">
            <summary>
            A System.String containing the API key assigned to the application
            by Google. API keys are optional, and allow Google to track your
            application and notify you of problems. See the Google API 
            documentation for more information on API keys.
            </summary>
        </member>
        <member name="P:GSearch.SearchArgs.StartIndex">
            <summary>
            A System.Int32 describing the zero-based item index on which the first
            page (page 0) of results should start. If the result set size is
            Large this value must be a multiple of 8, else it must be a 
            multiple of 4.
            </summary>
        </member>
        <member name="T:GSearch.GSearchCore">
            <summary>
            GSearchCore serves as the base class for the specific search engines, such as
            GSearch.GImageSearch. 
            </summary>
        </member>
        <member name="M:GSearch.GSearchCore.#ctor">
            <summary>
            The constructor creates an instance of the GSearchClient class which will
            be used later for executing queries.
            </summary>
        </member>
        <member name="M:GSearch.GSearchCore.Search(GSearch.SearchArgs)">
            <summary>
            Uses the GSearchClient to perform a blocking read of the Google ajax
            web service. Derived types wrap these calls in a public interface
            that supports a specific type of SearchArgs, i.e. ImageSearchArgs. This
            method is not available in the Silverlight version of the libraries.
            </summary>
            <param name="args">Search arguments, derived from SearchArgs</param>
            <returns>Response of type GResponse. This reference must be cast to a
            specific search response type before results can be accessed.</returns>
            <exception cref="T:System.Exception">If an error occurs in GSearchClient.Search</exception>
        </member>
        <member name="M:GSearch.GSearchCore.SearchAsync(GSearch.SearchArgs)">
            <summary>
            Uses the GSearchClient to perform an async read of the Google ajax
            web service. Derived types wrap these calls in a public interface
            that supports a specific type of SearchArgs, i.e. ImageSearchArgs.
            Results are returned in the arguments to SearchComplete and
            SearchProgressChanged.
            </summary>
            <param name="args">Search arguments, derived from <see cref="T:GSearch.SearchArgs"/></param>
            <exception cref="T:System.Exception">If an error occurs in GSearchClient.SearchAsync</exception>
        </member>
        <member name="M:GSearch.GSearchCore.OnSearchComplete(GSearch.SearchEventArgs)">
            <summary>
            Raises the SearchComplete event. Derived types must implement this method.
            </summary>
            <param name="e"><see cref="T:GSearch.SearchEventArgs"/> containing 
            information about the event</param>
        </member>
        <member name="M:GSearch.GSearchCore.OnSearchFailed(GSearch.SearchEventArgs)">
            <summary>
            Raises the SearchFailed event. Derived types must implement this method.
            </summary>
            <param name="e"><see cref="T:GSearch.SearchEventArgs"/> containing 
            information about the event</param>
        </member>
        <member name="M:GSearch.GSearchCore.OnSearchProgressChanged(GSearch.SearchEventArgs)">
            <summary>
            Raises the SearchProgressChanged event. Derived types must implement this method.
            </summary>
            <param name="e"><see cref="T:GSearch.SearchEventArgs"/> containing 
            information about the event</param>
        </member>
        <member name="M:GSearch.GSearchCore.Deserialize(System.IO.Stream)">
            <summary>
            Deserialize() is called with a valid result stream. It uses the JSON
            data serializer to marshall the JSON result data from the stream into
            the data contract classes. Derived classes must implement.
            </summary>
            <param name="result">Stream containing the Google JSON data</param>
            <returns>Instance of GResponse</returns>
        </member>
        <member name="M:GSearch.GSearchCore.DeserializeImpl``1(System.IO.Stream)">
            <summary>
            DeserializeImpl does the actual work of deserializing the json objects
            in the result stream. Deserialization is very generic as long as we
            have the type, which we get from the derived class referring back to
            this method in its implementation of Deserialize(Stream). The big advantage
            of centralizing this code in the base is to be certain the result stream
            is closed. It also means we don't need to know about the serialization
            namespace in the derived classes.
            </summary>
            <typeparam name="T">GResponse</typeparam>
            <param name="result">Stream containing the json results, if any</param>
            <returns>An instance of a class derived from GResponse, as a reference to GResponse</returns>
        </member>
        <member name="M:GSearch.GSearchCore._client_SearchComplete(System.Object,GSearch.SearchClientEventArgs)">
            <summary>
            Handles the SearchComplete event on the GSearchClient. Called when an async
            read of the Google service completes successfully. The event args contain
            a reference to the stream containing the results. The method raises
            SearchProgressChanged before and after deserialization, and then raises
            SearchComplete.
            </summary>
            <param name="sender">sending GSearchClient</param>
            <param name="e">SearchClientEventArgs</param>
        </member>
        <member name="M:GSearch.GSearchCore._client_SearchFailed(System.Object,GSearch.SearchClientEventArgs)">
            <summary>
            Handles the SearchFailed event on the GSearchClient. Called when an async
            read of the Google service fails. e.e contains the exception received from
            the WebClient. Raises SearchFailed.
            </summary>
            <param name="sender">sending GSearchClient</param>
            <param name="e">SearchClientEventArgs</param>
        </member>
        <member name="P:GSearch.GSearchCore.ServiceURI">
            <summary>
            Returns the service uri for the base search service. Derived types are
            responsible for overriding this and calling the base version in the
            override implementation to construct the entire service uri
            </summary>
        </member>
        <member name="T:GSearch.SearchHostLang">
            <summary>
            Enumerates the choices for host language
            </summary>
        </member>
        <member name="T:GSearch.SearchResultLang">
            <summary>
            Enumerates the languages available for filtering search results
            </summary>
        </member>
        <member name="T:GSearch.GPage">
            <summary>
            Implements the Google page json object, which is part of cursor
            </summary>
        </member>
        <member name="P:GSearch.GPage.Start">
            <summary>
            A System.Int32 holding the zero-based index of the result item
            at the top of this page.
            </summary>
        </member>
        <member name="P:GSearch.GPage.Label">
            <summary>
            A System.String containing a display label for the page. If the
            page index is 0, then the display label will be '1' for example.
            </summary>
        </member>
        <member name="T:GSearch.GCursor">
            <summary>
            Implements the Google cursor json object, which is part of responseData
            </summary>
        </member>
        <member name="P:GSearch.GCursor.Pages">
            <summary>
            Returns an array of <see cref="T:GSearch.GPage"/> objects containing
            the pages available in a search result set. The system will return
            results in pages of either 4 or 8 items depending on the rsz querystring
            argument.
            </summary>
        </member>
        <member name="P:GSearch.GCursor.EstimatedResultCount">
            <summary>
            A System.String containing the total number of estimated results
            that the Google search system would produce for the query.
            </summary>
        </member>
        <member name="P:GSearch.GCursor.CurrentPageIndex">
            <summary>
            A System.Int32 containing the zero-based index into the Pages array
            where the current page can be found.
            </summary>
        </member>
        <member name="P:GSearch.GCursor.MoreResultsUrl">
            <summary>
            A System.String containing a complete URL to more results from
            Google.
            </summary>
        </member>
        <member name="T:GSearch.GResults">
            <summary>
            Implements the common root properties of a Google result json object
            and names the data contract; derived classes implement search-specific
            results
            </summary>
        </member>
        <member name="P:GSearch.GResults.GSearchResultClass">
            <summary>
            A System.String containing a term describing the type of search that
            produced the result, i.e. 'GimageSearch'
            </summary>
        </member>
        <member name="P:GSearch.GResults.Html">
            <summary>
            A System.String containing HTML content related to the search. Has
            always been null on return in my tests.
            </summary>
        </member>
        <member name="T:GSearch.GResponseData">
            <summary>
            Implements the root properties of the Google responseData json object and
            names the data contract. Derived classes implement the search-specific
            portions.
            </summary>
        </member>
        <member name="P:GSearch.GResponseData.Cursor">
            <summary>
            Returns the <see cref="T:GSearch.GCursor"/> contained in the result
            set.
            </summary>
        </member>
        <member name="T:GSearch.GResponse">
            <summary>
            Implements the root properties for the Google response json object and
            names the data contract. Derived classes implement the search-specific
            portions.
            </summary>
        </member>
        <member name="P:GSearch.GResponse.ResponseDetails">
            <summary>
            A System.String containing text detail messages about the search
            </summary>
        </member>
        <member name="P:GSearch.GResponse.ResponseStatus">
            <summary>
            A System.String set to the HTTP result code for the last search, i.e.
            '200' for a successful search.
            </summary>
        </member>
    </members>
</doc>
